// pages/user/userCenter/comps/shareImg/shareImg.js
Component({
    /**
     * 组件的属性列表
     */
    properties: {
        userInfo: Object,
        shareImg: Array,
        showShareImg: Boolean
    },

    /**
     * 组件的初始数据
     */
    data: {
        previewImg: ''
    },

    /**
     * 组件的方法列表
     */
    methods: {
        myCatchTouch: function() {
            return
        },
        preview(e) {
            this.setData({
                previewImg: e.target.dataset.img
            })
        },
        promisify: function (api) {
            return (options, ...params) => {
                return new Promise((resolve, reject) => {
                    const extras = {
                        success: resolve,
                        fail: reject
                    }
                    api({
                        ...options,
                        ...extras
                    }, ...params)
                })
            }
        },
        circleImg: function (ctx, img, x, y, r) {
            ctx.save();
            var d = 2 * r;
            var cx = x + r;
            var cy = y + r;
            ctx.arc(cx, cy, r, 0, 2 * Math.PI);
            ctx.clip();
            ctx.drawImage(img, x, y, d, d);
            ctx.restore();
        },
        downloadImg: function() {
            wx.showLoading({
                title: '正在生成图片...',
            })
            const that = this
            const wxGetImageInfo = this.promisify(wx.getImageInfo)
            Promise.all([
                wxGetImageInfo({
                    src: that.data.previewImg
                }),
                wxGetImageInfo({
                    src: that.data.userInfo.heard_img
                }),
                wxGetImageInfo({
                    src: that.data.previewImg
                })
            ]).then(res => {
                const ctx = wx.createCanvasContext('shareCanvas')
                ctx.drawImage(res[0].path, 0, 0, 200, 355)
                // ctx.drawImage(res[2].path, 45, 95, 180, 180)
                // this.circleImg(ctx, res[1].path, 10, 15, 20)
                // ctx.setFillStyle('#ffffff')
                // ctx.setFontSize(13)
                // ctx.fillText(that.data.userInfo.nickname, 60, 30)
                // ctx.setFontSize(12)
                // ctx.fillText('邀请码：' + that.data.userInfo.user_id, 60, 50)
                ctx.draw()
                wx.hideLoading()
            })
            // wx.showToast({
            //     icon: "loading",
            //     title: "正在保存到本地相册"
            // })
            // wx.downloadFile({
            //     url: this.data.previewImg, //仅为示例
            //     success(res) {
            //         wx.hideToast()
            //         // 只要服务器有响应数据，就会把响应内容写入文件并进入 success 回调，业务需要自行判断是否下载到了想要的内容
            //         if (res.statusCode === 200) {
            //             wx.saveImageToPhotosAlbum({
            //                 filePath: res.tempFilePath,
            //                 success(result) {
            //                     wx.showToast({
            //                         title: '保存成功',
            //                         icon: 'none',
            //                         duration: 1000
            //                     })
            //                 }
            //             })
            //         }
            //     }
            // })
        },
        closeInvite: function() {
            this.triggerEvent('closeInvite')
        }
    },

    lifetimes: {
        attached: function() {
            // 在组件实例进入页面节点树时执行
            this.setData({
                previewImg: this.properties.shareImg[0]
            })
        }
    }
})